An analog-to-digital converter (ADC) is a widely used electronic device that converts continuous signals to discrete digital numbers. Typically, an ADC is an electronic device that converts an input analog voltage or current to a digital number. The resolution of the ADC indicates the number of discrete values it can produce over the range of analog voltage or current values. The discrete values are typically stored electronically in binary form. Accordingly, the resolution is usually expressed as a number of bits, since the number of discrete values available (“quantization levels”) is usually a power of two. For example, an ADC with a resolution of 8 bits can encode an analog input into one of 256 different quantization levels.
One widely used ADC is a ramp-compare ADC which produces a saw-tooth signal that ramps up and then quickly falls to zero. When the ramp starts, a timer starts counting. When the ramp voltage matches the analog input signal, a comparator fires, and the timer's value is recorded. Ramp-compare ADCs are widely used in many applications, for example, in CMOS Image Sensors (CIS) that are widely used in, for example, compact digital cameras. A CIS may be highly integrated and can provide a column-parallel pixel read-out so that column-parallel ADCs can be provided. In these column-parallel ADCs, a plurality of ramp-compare ADCs may be provided using a common ramp voltage generator and a controller.
Noise may be a problem in an ADC. Noise may be generated in the analog input signal, in the digital output signal and/or within the ADC itself. It is known to reduce noise using a multiple sampling technique, wherein an analog signal is converted to a digital value multiple times and the average of the converted values is used as a final output. Since the noise generally is uncorrelated, the multiple sampling plus averaging can reduce noise, at the potential expense of a longer analog-to-digital conversion time to carry out the multiple sampling and/or added hardware complexity of additional memory to store the multiple digital values and to average these values.